Dynamics CRM (on-premises) Performance Notes
- Maintaining SQL Server performance:
- The first key to maximizing the performance of your Dynamics CRM on-premises system (on online as well) is to not write or allow poorly designed applications, plug-ins, workflows, etc. to bog down the system. From my experience (Tim D), one of the most common causes of poor performance of SQL Server, the CRM Async Service, CRM UI, etc. is the lack of focus on performance by CRM architects and developers. Since it's relatively easy to enhance Dynamics CRM through plug-ins, workflows, integration jobs, etc., performance aspects of those components are often overlooked. For example, registering a plug-in with no Filtering Attributes when the plug-on only needs to perform work when one or a few fields are updated is a common mistake. It may not seem like a big deal with a new system but over time those little things add up.
- Dynamics CRM 2013 performance test whitepaper from Microsoft
- Stats for Microsoft's tests (lab environment): 150,000 concurrent users (transaction every 6 minutes); Total record count 1.26 billion; Avg page response 0.44 seconds; Web requests 6.47 million/hour;
- CRM configuration/data: 5000+ business units; 9 security roles; 150,000 users; 2 custom entities; 2.5 TB CRM org database; 1.3 million records; 191 business transactions/scenario (e.g., create account);
- Software: Windows Server 2012 R2; SQL Server 2012
- Hardware: Dell PowerEdge R920 (Intel Xeon processor E7 v2), Dell PowerEdge Express Flash SSD NVMe drives; SQL server had 1.5 TB RAM
- The use of SSDs increased the number of business transactions performed per second by approximately two times, while reducing the average response time by more than six seconds.